.\"
.\" ngircd(8) manual page template
.\"
.TH ngircd 8 "Sep 2023" ngIRCd "ngIRCd Manual"
.SH NAME
ngIRCd \- the "next generation" IRC daemon
.SH SYNOPSIS
.B ngircd
[
.I Options
]
.SH DESCRIPTION
.BR ngIRCd
is a free, portable and lightweight Internet Relay Chat (IRC) server for small
or private networks, developed under the GNU General Public License (GPL).
.PP
The server is quite easy to configure and runs as a single-node server or can
be part of a network of ngIRCd servers in a LAN or across the internet. It
optionally supports the IPv6 protocol, SSL/TLS-protected client-server and
server-server links, the Pluggable Authentication Modules (PAM) system for user
authentication, IDENT requests, and character set conversion for legacy
clients.
.PP
The name ngIRCd stands for
.IR "next-generation IRC daemon",
which is a little bit exaggerated:
.IR "lightweight Internet Relay Chat server"
most probably would have been a better name :-)
.PP
By default ngIRCd logs diagnostic and informational messages using the syslog
mechanism, or writes directly to the console when running in the foreground
(see below).
.SH OPTIONS
The default behavior of
.BR ngircd
is to read its standard configuration file (see below), to detach from the
controlling terminal and to wait for clients.
.PP
You can use these options to modify this default:
.TP
\fB\-f\fR \fIfile\fR, \fB\-\-config\fR \fIfile\fR
Use
.I file
as configuration file.
.TP
\fB\-n\fR, \fB\-\-nodaemon\fR
Don't fork a child and don't detach from controlling terminal.
All log messages go to the console and you can use CTRL-C to
terminate the server.
.TP
\fB\-p\fR, \fB\-\-passive\fR
Disable automatic connections to other servers. You can use the IRC command
CONNECT later on as IRC Operator to link this ngIRCd to other servers.
.TP
\fB\-y\fR, \fB\-\-syslog\fR
Write log messages to the syslog even when running in the foreground. This only
makes sense when
.I \-n/\-\-nodaemon
was given on the command line
.I before
this option!
.PP
The following options prevent ngIRCd from starting regularly, but perform a
specific action and then exit the daemon again:
.TP
\fB\-h\fR, \fB\-\-help\fR
Display a brief help text and exit.
.TP
\fB\-t\fR, \fB\-\-configtest\fR
Read, validate and display the configuration; then exit.
.TP
\fB\-V\fR, \fB\-\-version\fR
Output version information and exit.
.SH FILES
.I /usr/local/etc/ngircd.conf
.RS
The system wide default configuration file.
.RE
.I /usr/local/etc/ngircd.motd
.RS
Default "message of the day" (MOTD).
.RE
.SH SIGNALS
The daemon understands the following signals:
.TP
\fBTERM\fR
Shut down all connections and terminate the daemon.
.TP
\fBHUP\fR
Shut down all listening sockets, re-read the configuration file and
re-initialize the daemon.
.SH HINTS
It is
.I always wise
to use "ngircd \-\-configtest" to validate the configuration of ngIRCd after
making changes to the configuration files!
.SH DEBUGGING
ngIRCd can log additional debug messages, which can be enabled with the command
line option \-\-debug (\-d) or by sending the USR1 signal to the running daemon.
Some of those messages may leak personal information, be very technical and can
be very verbose. Therefore the debug mode is meant for troubleshooting only and
should definitely be disabled during normal operation!
.PP
In addition, a "protocol sniffer" can be enabled on build time by passing the
"\-\-enable\-sniffer" option to the ./configure script which enables the
"\-\-sniffer" (\-s) command line option (which is not available by default):
this "sniffer" logs all incoming and outgoing IRC commands on all connections,
which can be handy to debug problems with the daemon itself or IRC clients.
.PP
Both modes are indicated in the version string shown by the IRC "VERSION"
command: if the version ends in a dot (like in "26.1."), the daemon operates in
"normal" mode (the version used in the example is "26.1"). If it ends in ".1"
(like in "26.1.1") the "debug-mode" is enabled; and if it ends in ".2" (like in
"26.1.2") the "IRC sniffer" is enabled, too.
.PP
\fBOptions:\fR
.TP
\fB\-d\fR, \fB\-\-debug\fR
Enable debug mode and log extra messages.
.TP
\fB\-s\fR, \fB\-\-sniffer\fR
Enable IRC protocol sniffer, which logs all sent and received IRC commands to
the console/syslog. This option requires that ngIRCd has been ./configure'd
with "\-\-enable\-sniffer" and enables debug mode automatically, too.
.PP
\fBSignals:\fR
.PP
Note: Usage of these signals is broadcasted to all users with the +s ("receive
server notices") mode set!
.TP
\fBUSR1\fR
Toggle debug mode on and off during runtime.
.TP
\fBUSR2\fR
Dump internal server state to the console/syslog when debug mode is on (use
command line option \-\-debug or signal USR1).
.SH AUTHORS
Alexander Barton, <alex@barton.de>
.br
Florian Westphal, <fw@strlen.de>
.PP
Homepage: http://ngircd.barton.de/
.SH "SEE ALSO"
.BR ngircd.conf (5),
.BR ircd (8)
.\"
.\" -eof-
